package com.xiaoshuidi.cloud.module.iot.dal.model.callback;

import com.alibaba.fastjson.JSONObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * @author Carl
 * create 2020/7/21
 * email Carl.Sun@ixiaoshuidi.com
 **/
@Data
public class YunDingDeviceEventReqVO {

    /**
     * 事件类别（门锁低电量事件：batteryAlarm,门锁解除低电量事件：clearBatteryAlarm,门锁电量更新事件：batteryAsync,
     *          开锁事件：lockerOpenAlarm,历史开锁事件：lockOpenHistoryAlarm,设备离线事件：lockOfflineAlarm,
     *          设备解除离线事件：clearLockOfflineAlarm,电表电量同步事件：elemeterPowerAsync,电表欠费事件：elemeterOvercomeAmount,
     *          电表电量历史记录上传事件：elemeterPowerHisAsync,水表采集器离线事件：waterGatewayOfflineAlarm,水表采集器在线事件：waterGatewayOnlineAlarm,
     *          水表读数更新事件：watermeterAmountAsync）
     */
    @Schema(description = "事件类别")
    private String event;

    /**
     * 时间戳，毫秒
     */
    @Schema(description = "时间戳")
    private Long time;

    /**
     * 设备ID
     */
    @Schema(description = "设备ID")
    private String uuid;

    /**
     * 房源标识
     */
    @Schema(description = "房源标识")
    private String home_id;

    /**
     * 房间标识，内门锁才有
     */
    @Schema(description = "房间标识")
    private String room_id;

    /**
     * 设备的昵称
     */
    @Schema(description = "设备的昵称")
    private String nickname;

    /**
     * 事件的详细信息
     */
    @Schema(description = "事件的详细信息")
    private JSONObject detail;

    /**
     * 签名
     */
    @Schema(description = "签名")
    private String sign;

}
